| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| Languages | 2013-02-02 | ||
| Segments | 2013-02-02 | ||
| README | 2013-02-02 | 4.0 kB | |
| ProcFunc.nsh | 2013-02-01 | 23.0 kB | |
| PortableApps.comLauncher.nsi | 2013-02-01 | 12.8 kB | |
| Totals: 5 Items | 39.7 kB | 0 | |
This folder is for PortableApps.com Launcher (http://portableapps.com/apps/development/portableapps.com_launcher) customization. Changes are detailed below. To "install" changes, copy the files into the appropriate subfolder of the Other\Source directory.
--------------------------------------------
OpenJDK Portable (http://portableapps.com/node/35441) Support
------
The changes below were made originally to provide inbuilt JDK support for BlueJ Portable (http://portableapps.com/node/27659) but the changes below can be used with any program whether it needs JDK or not; it only affects running the JDK.
To add native support for OpenJDK Portable, use the following files as replacements:
PortableApps.comLauncher.nsi
Languages\English.nsh
Segments\ExecString.nsh
Segments\InstanceManagement.nsh
Segments\JDK.nsh
The following are descriptions of changes in each of the above files:
PortableApps.comLauncher.nsi
Added "${RunSegment} JDK" under Init
Languages\English.nsh
Added the following lines to account for JDK support:
${LangFileString} LauncherNoJDK "$AppName requires a Java Development Toolkit. Please install OpenJDK Portable from http://portableapps.com/node/35441 and then try again."
${LangFileString} LauncherNoJDKDownload "$AppName requires a Java Development Toolkit. Would you like to automatically download and install jPortable on your device now?"
${LangFileString} LauncherNoJDKCancelled "$AppNamePortable cannot run without a Java Development Toolkit and will now exit."
Modeled the lines after the associated lines for jPortable
Segments\ExecString.nsh
Modified the opening if-then statement to include JDK references:
${If} $UsingJavaExecutable != true
${AndIf} $UsingOpenJDKExecutable != true
StrCpy $ExecString `"$AppDirectory\$ProgramExecutable"`
${Else}
${If} $UsingOpenJDKExecutable == true
StrCpy $ExecString `"$OpenJDKDirectory\bin\$ProgramExecutable"`
${Else}
StrCpy $ExecString `"$JavaDirectory\bin\$ProgramExecutable"`
${EndIf}
${EndIf}
Note this means that OpenJDK takes precidence over jPortable
This also means that Java support can either be Java=true or OpenJDK=true
Segments\InstanceManagement.nsh
For every line that contained:
${AndIfNot} $UsingJavaExecutable == true
I added a line directly after stating:
${AndIfNot} $UsingOpenJDKExecutable == true
This just enables OpenJDK to be treated like jPortable so that the launcher doesn't assume javaw.exe is in the App folder
Segments\JDK.nsh
New file modeled off of Java.nsh
Major differences include:
Checking if a folder contains javac.exe as well as java.exe and javaw.exe
New variable names to be referenced externally (such as $OpenJDKDirectory)
References to the new language strings added to Languages\English.nsh
Correct paths to locally installed versions and registry entries
Enables the use of [Activate] OpenJDK=none|find|require in the launcher.ini file of a program
--------------------------------------------
Temporary Executables Support
------
The changes below were originally to compensate for problems stemming from temporary executable use in MiKTeX Portable (http://portableapps.com/node/36247). In this instance, a temporary executable is used instead of the main executable, thus making it originally impossible to have the portable instance wait for the tray icon. This only affects programs that allow for temporary executables.
To enable support for running and waiting temporary executables (.tmp), use the following files as replacements:
ProcFunc.nsh
The following are descriptions of changes in each of the above files:
ProcFunc.nsh
For every instance of:
${If} $2 == ".exe"
I added the following directly after:
${OrIf} $2 == ".tmp"
This allows for .tmp files in the process table to be treated as executables
All items such as CloseEXE and WaitForEXEN are affected by this